package com.belf.console.domain;

import com.belf.common.annotation.Excel;
import com.belf.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 评估任务对象 appraise_tasks
 * 
 * @author belf
 * @date 2024-07-11
 */
@Data
@EqualsAndHashCode(callSuper=false)
public class AppraiseTasks extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String taskName;

    /** 任务类型 */
    @Excel(name = "任务类型")
    private String taskType;
    /** 创建表、视图 */
    @Excel(name = "创建表、视图")
    private String jobType;

    /** 数据源ID */
    private String databaseId;


    /** 数据库名称 */
    @Excel(name = "数据库名称")
    private String dataSourceName;

    /**
     *  数据源信息
     */
    private DataSourceInfo dataSourceInfo;

    @Excel(name = "目标数据库类型")
    private String sinkDbTypes;

    /** 对象类型 */
    private Long taskWay;

    /** 统计信息 */
    private String taskCount;

    /** 统计模块 */
    private String taskMode;

    /** 统计模块 */
    private String databaseName;

    private String dataSchema;
    /** 评估对象 */
    private String taskTables;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private Long taskStatus;

    /** 执行策略 */
    private Long strategy;

    private Integer monitorStatus;
    /** 调度器配置 */
    @Excel(name = "调度器配置")
    private String monitorConf;

    /** 描述 */
    private String dsc;

    public AppraiseTasks()
    {

    }
    public AppraiseTasks(Long taskId, String taskType) {
        this.id = taskId;
        this.taskType = taskType;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTaskName(String taskName) 
    {
        this.taskName = taskName;
    }

    public String getTaskName() 
    {
        return taskName;
    }
    public void setTaskType(String taskType) 
    {
        this.taskType = taskType;
    }

    public String getTaskType() 
    {
        return taskType;
    }
    public void setDatabaseId(String databaseId)
    {
        this.databaseId = databaseId;
    }

    public String getDatabaseId()
    {
        return databaseId;
    }
    public void setDatabaseName(String databaseName) 
    {
        this.databaseName = databaseName;
    }

    public String getDatabaseName() 
    {
        return databaseName;
    }
    public void setTaskWay(Long taskWay) 
    {
        this.taskWay = taskWay;
    }

    public Long getTaskWay() 
    {
        return taskWay;
    }
    public void setTaskCount(String taskCount) 
    {
        this.taskCount = taskCount;
    }

    public String getTaskCount() 
    {
        return taskCount;
    }
    public void setTaskMode(String taskMode) 
    {
        this.taskMode = taskMode;
    }

    public String getTaskMode() 
    {
        return taskMode;
    }
    public void setTaskTables(String taskTables)
    {
        this.taskTables = taskTables;
    }

    public String getTaskTables()
    {
        return taskTables;
    }
    public void setTaskStatus(Long taskStatus) 
    {
        this.taskStatus = taskStatus;
    }

    public Long getTaskStatus() 
    {
        return taskStatus;
    }
    public void setStrategy(Long strategy) 
    {
        this.strategy = strategy;
    }

    public Long getStrategy() 
    {
        return strategy;
    }
    public void setDsc(String dsc)
    {
        this.dsc = dsc;
    }

    public String getDsc()
    {
        return dsc;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskName", getTaskName())
            .append("taskType", getTaskType())
            .append("databaseId", getDatabaseId())
            .append("databaseName", getDatabaseName())
            .append("taskWay", getTaskWay())
            .append("taskCount", getTaskCount())
            .append("taskMode", getTaskMode())
            .append("taskTables", getTaskTables())
            .append("taskStatus", getTaskStatus())
            .append("strategy", getStrategy())
            .append("dsc", getDsc())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public DataSourceInfo getDataSourceInfo() {
        return dataSourceInfo;
    }

    public void setDataSourceInfo(DataSourceInfo dataSourceInfo) {
        this.dataSourceInfo = dataSourceInfo;
    }
}
